local ops = require("mongodbOps") --加载mongodb操作模块

local row = ops.rawRow()  --当前mysql数据库的一行数据,table类型
local action = ops.rawAction()  --当前mysql数据库事件,包括：insert、update、delete

local result = {}  -- 定义一个table

-- row中字段名大小写跟数据库一致
local field = row["p_key"]
local value = row["p_value"]
local id = row["uuid"] --获取ID列的值


local function isnotempty(s)
  return not (s == nil or s == '')
end

local function isvalid(s)
	return string.find(s, "^[0-9a-zA-Z_-]+$")
end

if isnotempty(id) and isvalid(field) and isnotempty(value) then
	result["_id"] = id -- _id为MongoDB的主键标识
	result[field] = value
	result["collect_date"] = row["collect_date"]
	result["create_time"] = row["create_time"]
	result["project_id"] = row["project_id"]
	result["structure_id"] = row["structure_id"]
	result["kind"] = row["kind"]
	if action == "delete" then -- 删除事件  -- 修改事件
	    ops.DELETE("t_data",id) -- 删除，第一个参数为collection名称(string类型)，第二个参数为ID 
	else -- 修改事件
	    ops.UPSERT("t_data",id,result) -- 修改，第一个参数为collection名称，string类型；第二个参数为ID；第三个参数为要修改的数据，talbe类型
	end 
end